home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / chesswin.lha / windows / chess.mak < prev    next >
Makefile  |  1990-12-29  |  5KB  |  184 lines

  1. #
  2. #  C source for GNU CHESS
  3. #
  4. #  Revision: 1990-12-26
  5. #
  6. #  Modified by Daryl Baker for use in MS WINDOWS environment
  7. #
  8. #  This file is part of CHESS.
  9. #
  10. #  CHESS is distributed in the hope that it will be useful, but WITHOUT ANY
  11. #  WARRANTY.  No author or distributor accepts responsibility to anyone for
  12. #  the consequences of using it or for whether it serves any particular
  13. #  purpose or works at all, unless he says so in writing.  Refer to the CHESS
  14. #  General Public License for full details.
  15. #
  16. #  Everyone is granted permission to copy, modify and redistribute CHESS, but
  17. #  only under the conditions described in the CHESS General Public License.
  18. #  A copy of this license is supposed to have been given to you along with
  19. #  CHESS so you can know your rights and responsibilities.  It should be in a
  20. #  file named COPYING.  Among other things, the copyright notice and this
  21. #  notice must be preserved on all copies.
  22. #
  23. #
  24. PROJ = chess
  25. PROJFILE = chess.mak
  26.  
  27. CFLAGS_G  = /AM /W4 /G2sw /Zp /BATCH /nologo
  28. LINKER  = link
  29. LRF  = echo > NUL
  30. RC  = rc
  31. IMPLIB  = implib
  32. LFLAGS_G  =   /BATCH /nologo /align:16 /map
  33. LFLAGS_R  =  /NOF /NOP
  34. MAPFILE_R  = chess.map
  35. CC  = cl
  36. CFLAGS_D  = /Od /Zi /Gi$(PROJ).mdt
  37. CFLAGS_R  = /Osge
  38. LLIBS_R  =  /NOD:MLIBCE MLIBCEW
  39. LLIBS_G  = LIBW.LIB
  40. ASM  = masm
  41. AFLAGS_G  = /Mx /T
  42.  
  43. DEF_FILE  = CHESS.DEF
  44. OBJS  = CHESS.obj INIT.obj BOARD.obj ABOUT.obj PIECE.obj \
  45.         HITTEST.obj COLOR.obj TIMECNT.obj SEARCH.obj INITIALI.obj \
  46.         EVAL.obj GLOBALS.obj DSP.obj MSWDSP.obj BOOK.obj CREATE.obj \
  47.         SAVEOPEN.obj NUMDLG.obj INITMENU.obj REVIEW.obj STATS.obj \
  48.         TEST.obj PROMOTE.obj
  49.  
  50. RT_OBJS = VERSION.obj
  51.  
  52. RESS = chess.res
  53.  
  54. BMPS = king.bmp kingm.bmp kingo.bmp pawn.bmp pawno.bmp pawnm.bmp \
  55.        rook.bmp rooko.bmp rookm.bmp knight.bmp knightm.bmp knighto.bmp \
  56.        bishop.bmp bishopm.bmp bishopo.bmp queen.bmp queenm.bmp queeno.bmp
  57.  
  58. HELPFILES = chess.rtf article.rtf article2.rtf copying.rtf move-gen.rtf heuristi.rtf match.rtf
  59. HELPSOURCE = chess.doc article.doc article2.doc copying.doc move-gen.doc heuristi.doc match.doc
  60.  
  61. all: $(PROJ).exe $(PROJ).hlp
  62.  
  63. .SILIENT:
  64.  
  65. .SUFFIXES: .rc .res .c .obj .doc .rtf
  66.  
  67. CHESS.RES : chess.rc $(BMPS) color.dlg chess.ico timecnt.dlg saveopen.dlg \
  68.             getnum.dlg review.dlg about.dlg stats.dlg test.dlg promote.dlg
  69.  
  70. ABOUT.obj : ABOUT.C
  71.  
  72. BOARD.obj : BOARD.C defs.h
  73.  
  74. BOOK.obj : BOOK.C gnuchess.h defs.h chess.h
  75.  
  76. CHESS.obj : CHESS.C gnuchess.h defs.h chess.h saveopen.h  color.h 
  77.  
  78. COLOR.obj : COLOR.C chess.h color.h
  79.  
  80. CREATE.obj : CREATE.C defs.h chess.h
  81.  
  82. DSP.obj : DSP.C gnuchess.h defs.h chess.h
  83.  
  84. EVAL.obj : EVAL.C gnuchess.h defs.h
  85.  
  86. GLOBALS.obj : GLOBALS.C gnuchess.h
  87.  
  88. HITTEST.obj : HITTEST.C defs.h
  89.  
  90. INIT.obj : INIT.C
  91.  
  92. INITIALI.obj : INITIALI.C gnuchess.h defs.h
  93.  
  94. INITMENU.obj : INITMENU.C gnuchess.h chess.h
  95.  
  96. MSWDSP.obj : MSWDSP.C gnuchess.h chess.h defs.h stats.h
  97.  
  98. NUMDLG.obj : NUMDLG.C chess.h
  99.  
  100. PIECE.obj : PIECE.C chess.h defs.h
  101.  
  102. PROMOTE.obj : PROMOTE.C chess.h
  103.  
  104. REVIEW.obj : REVIEW.C gnuchess.h chess.h defs.h
  105.  
  106. SAVEOPEN.obj : SAVEOPEN.C saveopen.h
  107.  
  108. SEARCH.obj : SEARCH.C gnuchess.h defs.h
  109.  
  110. STATS.obj : STATS.C gnuchess.h stats.h
  111.  
  112. TEST.obj : TEST.C gnuchess.h chess.h defs.h
  113.  
  114. TIMECNT.obj : TIMECNT.C timecnt.h chess.h
  115.  
  116. #
  117. # Code to generate new time stamp when any module updated
  118. #
  119. makever.exe: makever.c
  120.         cl /nologo makever.c
  121.  
  122. VERSION.obj: VERSION.c
  123.  
  124. VERSION.c:  $(OBJS) $(RESS) $(BMPS) makever.exe
  125.         makever >version.c
  126.  
  127. # Create the help file
  128.  
  129. chess.hlp: chess.hpj $(HELPFILES)
  130.         -del chess.ph
  131.         hc chess.hpj
  132.  
  133. chexe320.zip:
  134. distexe: chess.exe readme.txt gnuchess.boo chess.hlp copying
  135.         -del chexe320.zip
  136.         pkzip -a chexe320 readme.txt chess.exe gnuchess.boo chess.hlp copying
  137.  
  138. distsrc: chess.exe chexe320.zip readme.txt chess.mak chess.hlp
  139.         -del chess320.zip
  140.         pkzip -a chess320 readme.txt $(PROJ).exe *.boo $(PROJ).hlp
  141.         pkzip -a chess320 $(PROJ).def $(PROJ).rc *.dlg $(PROJ).mak $(PROJ).ico 
  142.         pkzip -a chess320 copying winport change.log todo *.h *.c *.bmp 
  143.         pkzip -a chess320 chess.hpj $(HELPFILES)
  144.         pkzip -a chess320 $(HELPSOURCE)
  145.  
  146. clean:
  147.         -del *.obj
  148.         -del *.bak
  149.         -del *.res
  150.         -del *.err
  151.         -del *.ph
  152.  
  153. $(PROJ).exe : $(DEF_FILE) $(OBJS) $(RT_OBJS) $(RESS)
  154.         $(LRF) @<<$(PROJ).lrf
  155. $(LFLAGS_G) $(LFLAGS_R) $(RT_OBJS: = +^
  156. ) $(OBJS: = +^
  157. )
  158. $@
  159. $(MAPFILE_R)
  160. $(LLIBS_G: = +^
  161. ) +
  162. $(LLIBS_R: = +^
  163. ) +
  164. $(LIBS: = +^
  165. )
  166. $(DEF_FILE) ; 
  167. <<
  168.         $(LINKER) @$(PROJ).lrf
  169.         $(RC) $(RESS) $@
  170.  
  171. .c.obj :
  172.         $(CC) /c $(CFLAGS_G) $(CFLAGS_R) /Fo$@ $<
  173.  
  174. .rc.res :
  175.         $(RC) /r $<
  176.  
  177. #
  178. # this rule is here to trap changes to the doc files.  Ideally it
  179. # would call a program todo RTF conversion.
  180. #
  181. .doc.rtf :
  182.         @echo $< is out of date. Resave as RTF.
  183.         @zzz### dummy command line need abort command
  184.